fastrand
A simple and fast random number generator.
The implementation uses Wyrand, a simple and fast generator but not cryptographically secure.
Examples
Flip a coin:
if bool else
Generate a random i32
:
let num = i32;
Choose a random element in an array:
let v = vec!;
let i = usize;
let elem = v;
Shuffle an array:
let mut v = vec!;
shuffle;
Generate a random Vec
or String
:
use repeat_with;
let v: = repeat_with.take.collect;
let s: String = repeat_with.take.collect;
To get reproducible results on every run, initialize the generator with a seed:
// Pick an arbitrary number as seed.
seed;
// Now this prints the same number on every run:
println!;
To be more efficient, create a new Rng
instance instead of using the thread-local
generator:
use repeat_with;
let rng = new;
let mut bytes: = repeat_with.take.collect;
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.